<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

                    <h4>使用文本编辑器</h4>
                    <div class="x-wiki-info"><span>6524次阅读</span></div>
                    <hr style="border-top-color:#ccc" />
                    <div class="x-wiki-content x-content"><p>在Python的交互式命令行写程序，好处是一下就能得到结果，坏处是没法保存，下次还想运行的时候，还得再敲一遍。</p>
<p>所以，实际开发的时候，我们总是使用一个文本编辑器来写代码，写完了，保存为一个文件，这样，程序就可以反复运行了。</p>
<p>现在，我们就把上次的<code>&#39;hello, world&#39;</code>程序用文本编辑器写出来，保存下来。</p>
<p>所以问题又变成了：用什么文本编辑器？</p>
<p>推荐两款文本编辑器：</p>
<p>一个是<a href="http://www.sublimetext.com/">Sublime Text</a>，免费使用，但是不付费会弹出提示框：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/0013869285094083033fe5b249c4f90b6c32d98cd45f961000/0" alt="sublimetext"></p>
<p>一个是<a href="http://notepad-plus-plus.org/">Notepad++</a>，免费使用，有中文界面：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001386928520603e4fd4153dbfb4027850cd7db6a380f53000/0" alt="notepad++"></p>
<p>请注意，用哪个都行，但是<span style="color:red">绝对不能用Word和Windows自带的记事本</span>。Word保存的不是纯文本文件，而记事本会自作聪明地在文件开始的地方加上几个特殊字符（UTF-8 BOM），结果会导致程序运行出现莫名其妙的错误。</p>
<p>安装好文本编辑器后，输入以下代码：</p>
<pre><code>print &#39;hello, world&#39;
</code></pre><p>注意<code>print</code>前面不要有任何空格。然后，选择一个目录，例如<code>C:\Workspace</code>，把文件保存为<code>hello.py</code>，就可以打开命令行窗口，把当前目录切换到<code>hello.py</code>所在目录，就可以运行这个程序了：</p>
<pre><code>C:\Workspace&gt;python hello.py
hello, world
</code></pre><p>也可以保存为别的名字，比如<code>abc.py</code>，但是必须要以<code>.py</code>结尾，其他的都不行。此外，文件名只能是英文字母、数字和下划线的组合。</p>
<p><div data-type="video" data-width="664" data-height="432" data-src="http://www.liaoxuefeng.comhttp://liaoxuefeng-liaoxuefeng.stor.sinaapp.com/learnpython/video/run-hello.py.mp4"></div></p>

<p>如果当前目录下没有<code>hello.py</code>这个文件，运行<code>python hello.py</code>就会报错：</p>
<pre><code>python hello.py
python: can&#39;t open file &#39;hello.py&#39;: [Errno 2] No such file or directory
</code></pre><p>报错的意思就是，无法打开<code>hello.py</code>这个文件，因为文件不存在。这个时候，就要检查一下当前目录下是否有这个文件了。</p>
<p>请注意区分命令行模式和Python交互模式：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001408244509010dd8083ba11cd402099bcea7105876b7f000" alt="cmd-vs-py"></p>
<p>看到类似<code>C:\&gt;</code>是在Windows提供的命令行模式，看到<code>&gt;&gt;&gt;</code>是在Python交互式环境下。</p>
<p>在命令行模式下，可以执行<code>python</code>进入Python交互式环境，也可以执行<code>python hello.py</code>运行一个<code>.py</code>文件，但是在Python交互式环境下，只能输入Python代码执行。</p>
<h3 id="-py-">直接运行py文件</h3>
<p>还有同学问，能不能像.exe文件那样直接运行.py文件呢？在Windows上是不行的，但是，在Mac和Linux上是可以的，方法是在.py文件的第一行加上：</p>
<pre><code>#!/usr/bin/env python
</code></pre><p>然后，通过命令：</p>
<pre><code>$ chmod a+x hello.py
</code></pre><p>就可以直接运行hello.py了，比如在Mac下运行：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001387104176573bc75768a559c474a8a69755828c1930a000/0" alt="run-python-in-shell"></p>
<h3 id="-">小结</h3>
<p>用文本编辑器写Python程序，然后保存为后缀为.py的文件，就可以用Python直接运行这个程序了。</p>
<p>用Python开发程序，完全可以一边在文本编辑器里写代码，一边开一个交互式命令窗口，在写代码的过程中，把部分代码粘到命令行去验证，事半功倍！前提是得有个27&#39;的超大显示器！</p>
</div>

                    <hr style="border-top-color:#ccc" />

                    